---
sidebar_position: 5
---

# 项目配置

项目配置在项目目录中的`wails.json`文件中。配置的结构是：

```json
{
  "name": "[项目名称]",
  "assetdir": "[资源目录的相对路径]",
  "reloaddirs": "[触发重新加载的附加目录（逗号分隔），这仅用于一些重要资源配置]",
  "frontend:install": "[安装 node 依赖的命令，在 frontend 目录下运行 - 通常是 `npm install`]",
  "frontend:build": "[构建资源的命令，在 frontend 目录下运行 - 通常是 `npm run build`]",
  "frontend:dev": "[此命令等效于开发模式中的 frontend:build，如果没有指定则只有 frontend:build]",
  "frontend:dev:watcher": "[此命令在 `wails dev` 上的单独进程中运行。对第 3 方观察者有用]",
  "wailsjsdir": "[自动生成的JS模块将被创建的目录的相对路径]",
  "version": "[项目配置版本]",
  "outputfilename": "[二进制文件的名称]",
  "debounceMS": 100, // 在检测到资源更改时，开发服务器等待重新加载的时间
  "devserverurl": "[用于服务本地资源的开发服务器URL。默认：http://localhost:34115]",
  "appargs": "[在dev模式下以shell样式传递给应用程序的参数]",
  "runNonNativeBuildHooks": false, // 定义构建钩子是否应该运行，尽管它们是为主机操作系统以外的操作系统定义的。
  "postBuildHooks": {
    "GOOS/GOARCH": "[在构建指定的 GOOS/GOARCH 后将执行的命令：${platform} 替换为'GOOS/GOARCH'，${bin} 替换为编译后的二进制文件的路径。'GOOS/GOARCH'钩子在'GOOS/*'和'*/*'钩子之前执行。]",
    "GOOS/*": "[在构建指定的 GOOS 后将执行的命令：${platform} 替换为'GOOS/GOARCH'，${bin} 替换为编译后的二进制文件的路径。'GOOS/*'钩子在'*/*'钩子之前执行。]",
    "*/*": "[每次构建后将执行的命令：${platform} 替换为'GOOS/GOARCH'，${bin} 替换为编译后的二进制文件的路径。]"
  },
  "info": {
    // 用于填充 manifests 和 version 信息的数据。
    "companyName": "[公司名称。 默认: [项目名]]",
    "productName": "[产品名称。 默认: [项目名]]",
    "productVersion": "[产品的版本。 默认: '1.0.0']",
    "copyright": "[产品的版权。 默认: 'Copyright.........']",
    "comments": "[该应用程序的简短注释。 默认: 'Built using Wails (https://wails.app)']"
  },
  "nsisType": "['multiple': 每个架构一个安装程序。 'single': 适用于所有正在构建的架构的单一通用安装程序。 默认: 'multiple']"
}
```

该文件将在运行`wails build`或`wails dev`时，由 Wails CLI 读取。

`wails build/dev`命令中的`assetdir`、`reloaddirs`、`wailsjsdir`、`debounceMS`和`devserverurl`标志将覆盖项目配置并作为后续运行的默认值。
